<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>Document</title>
  <style>
    
  </style>
</head>
<body>
  
</body>
<script>

  // 封装 随机一个4位数字字母混合的验证码 的函数

  // 先封装一个范围随机数
  // 数字：0~9
  // 大写字母：65 ~ 90 作为Unicode编码转成字符
  // 小写字母：97 ~ 122 作为Unicode编码转成字符

  // 思路一：
  // 给每种字符，编号：0数字，1小写，2大小
  // 从0~2随机，随4次，每次根据类别决定适应哪种字符

  // 思路二：
  // 将数字，小写，大写都生成相同的数量，随便几个都行，作为随机字符库
  // 再从随机字符库中随机取4个

  function randomString(){
    // 将数字，小写，大写都生成相同的数量，随便几个都行
    var str = "";
    for(var i=0;i<10;i++){
      var a = random(0, 9);
      var b = String.fromCharCode(random(65, 90));
      var c = String.fromCharCode(random(97, 122));
      // 作为随机字符库
      str += a + b + c;
    }
    var s = "";
    // 从随机字符库中随机取4个
    for(var i=0;i<4;i++){
      // 随机字符库的索引
      var idx = random(0, str.length-1);
      // 通过索引取字符
      s += str[idx];
    }
    return s;
  }

  console.log( randomString() );
  console.log( randomString() );
  console.log( randomString() );
  console.log( randomString() );
  console.log( randomString() );
  console.log( randomString() );
  console.log( randomString() );
  console.log( randomString() );
  console.log( randomString() );

  function random(max,min){
    return Math.round(Math.random()*(max-min)+min);
  }

  
</script>
</html>